package org.forum.dao;

import java.io.Serializable;
import java.util.Map;

import org.forum.dao.base.BaseDao;
import org.forum.domain.User;

public interface UserDao<User> extends BaseDao<User> {
	
	/**
	 * 根据用户名和密码查找用户相关信息
	 * @param user
	 * @return
	 */
	public User findUserByUsernameAndPassword(User user);
	
	/**
	 * 根据用户名查找用户相关信息
	 * @param user
	 * @return
	 */
	public User findUserByUsername(User user);
	
	/**
	 * 根据UserId加载用户信息
	 * @param userId
	 * @return
	 */
	public User findUserById(int userId);
	
	/**
	 * 持久化新注册用户信息至数据库
	 * @param user
	 */
	public Serializable saveUser(User user);
	
	/**
	 * 更新用户信息
	 * @param user（user必须已经持久化）
	 * @return
	 */
	public void updateUser(User user);
	
	
	/**
	 * 通过Id得到所有的UserInfo
	 * @param userIds
	 * @return
	 */
	public Map<String, User> getUserInfoByIds(Map<String, String> userIds);
	
	
}
